#include <iostream>
#include <jni.h>
#include <string.h>
#include <stdio.h>
#include <android/log.h>

#define LOG_TAG "binder_demo"

#define  LOGI(...)  __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)
#define  LOGE(...)  __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__)

/* For relevant code see:
    frameworks/base/{include,libs}/binder/{IInterface,Parcel}.h
    frameworks/base/include/utils/{Errors,RefBase}.h
 */
/*
#include <stdlib.h>

#include "utils/RefBase.h"
#include "utils/Log.h"
#include "utils/TextOutput.h"

#include <binder/IInterface.h>
#include <binder/IBinder.h>
#include <binder/ProcessState.h>
#include <binder/IServiceManager.h>
#include <binder/IPCThreadState.h>

using namespace android; */
using namespace std;

int main()
{
    cout << "Hello world!" << endl;
    LOGI("Hello, Android!");
    return 0;
}
